1. Field of the Invention
Apparatuses and methods consistent with the present invention relate to software maintenance in an industrial automation environment.
2. Description of the Related Art
In modern manufacturing facilities and particularly in the field of industrial automation, automated processes are often controlled by low-level automation and process control and monitoring systems. Low-level automation systems may include dedicated robotic devices or other automated systems controlled or monitored by programmable logic controllers (PLCs). Various sensing devices and instrumentation may be used to monitor such processes, such as machine vision systems, barcode readers, and various optical, electrical, electromechanical, and temperature sensors.
Typically, a user develops control logic such as a ladder program and the PLC (controller) executes this control logic in order to achieve the manufacturing process desired by the user. The control logic is stored in the controller's memory as user application software and is readable by the controller. The controller is provided with an execution environment in which the controller's processor can process the control logic and execute the user application. As this execution environment (much like an operating system in a personal computer) is part of the controller, the controller manufacturer is responsible for the maintenance of the execution environment. Controller's manufacturers often offer updates of the execution environment if there is a problem or shortcoming in the execution environment. Because the execution environment is stored in non-volatile memory, manufacturers often replace the entire controller to apply the update to the execution environment. This method leads to an increase in the support cost for the manufacturers of these controllers. Furthermore, the user has to stop a manufacturing process when updating its execution environment.
Therefore, there is a need for a system and method that would allow for efficient updates to the execution environment of a controller.